/*
定义日志消息类，进行日志中间信息的存储
1.日志的输出时间，用于过滤日志输出时间
2.日志等级，用于对日志过滤分析
3.源文件名称
4.源文件代码行号，用于定位出现错误的代码位置
5.线程id，用于过滤出错的线程
6.日志主题消息
7.日志名称（当前支出多日志器同时使用）
*/
#include<iostream>
#include<string>
#include<thread>
#include"util.hpp"
#include"level.hpp"
using namespace std;
namespace bitlog
{
    class LogMsg
    {
        time_t _ctime;//日志产生的时间戳
        LogLevel::value _level;//日志等级
        size_t _line;//行号
         std::thread::id _tid;//线程id
         std::string _file;//源码文件名
         std::string _logger;//日志器名称
         std::string _payload;//有效消息数据

         LogMsg(LogLevel::value level,
         size_t ctime,
         size_t line,
         const std::string file,
         const std::string logger,
         const std::string msg):
         _ctime(util::Data::now()),
         _level(level),
         _line(line),
         _tid(std::this_thread::get_id()),
         _file(file),
         _logger(logger),
         _payload(msg)
         {}
      
    };
}